Computer systems rely on video compression and decompression for video storage/playback and video teleconferencing applications. The objective typically is to reduce the number of transmitted or stored bits needed to represent the original signal while minimizing the loss in resolution when decompressed. By balancing these competing factors, video teleconferencing and other real-time video transfer, for example, can be accomplished within the bandwidth restrictions imposed by local area networks, wide area networks, internetworks, and circuit-switched telephone networks, such as integrated services data network (ISDN) lines or standard telephone lines (POTS).
In order to optimize the bit rate/resolution trade-off, many compression/decompression algorithms are computationally intensive, especially when considering their real-time operation. The three most common compression standards are: MPEG standard developed by the Moving Pictures Experts Group, JPEG standard developed by the Joint Pictures Experts Group, and the H.26x video teleconferencing standard. Each uses a variety of encoding techniques simultaneously on the frames of video data. Specifically, the MPEG and the H.26x standards implement a combination of spatial, temporal, and entropy encoding, while the JPEG standard uses only spatial and entropy encoding.
Generally, there have been three hardware approaches to handling the computational tasks required by video compression/decompression in the context of modern computer, and specifically personal computer/workstation, systems. For example, the central processing unit (CPU) of the computer can perform all of the operations necessary to execute the compression/decompression algorithms. In contrast, at the other end of the spectrum, dedicated compression/decompression hardware can be placed in the computer that is optimized for the task. Finally, a compression co-processor, typically located in a card in the computer system, can be installed, which shares the task of compression/decompression with the central processing unit. One example of hardware designed for the last approach is the DECchip 21230 designed by Digital Equipment Corporation.
There are technical and/or practical problems associated with each of the typical approaches. The CPU is generally not well optimized for handling pixel-granularity video data. Many times the data units are eight bits or less, whereas the CPU is generally designed for 32 or 64 bit wide data paths. Single instruction multiple data architectures (SIMD) are typically better adapted to handle these kinds of operations where a common series of operations are performed on many pixels of data. Dedicated compression hardware utilizes these SIMD architectures and consequently works well, but is typically too expensive for the consumer/small business environments. Many times the compression hardware alone will exceed the cost of the average desktop machine. Finally, the compression co-processor approach provides a better price/performance trade-off but is still an expensive hardware upgrade in an increasingly commoditized computer market.
A parallel trend in the computer industry is the combination of video capture and video control capabilities on a single card. As a result, these cards typically have a video output port to control the monitor and video-inputs for receiving RGB, NTSC, and/or PAL encoded video signals.